package com.weixing.mall.provider.model.dto;

import com.weixing.mall.provider.model.enums.GoodsStateEnum;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 *  GoodsDto
 *
 * @author  gjq
 * @date  2019/8/9
 * @since  1.0
 **/
@Data
public class GoodsDto {

    /**
     * id
     */
    private Long id;

    /**
     * 商品类目id
     */
    @NotNull(message = "商品类目id不能为空")
    private Long catId;

    /**
     * 商品类目
     */
    @NotNull(message = "商品类目名称不能为空")
    private String catName;

    /**
     * 设计师编号
     */
    @NotNull(message = "设计师编号不能为空")
    private String designer;

    /**
     * 设计号
     */
    @NotNull(message = "设计号不能为空")
    private String designSn;

    /**
     * 供应商
     */
    @NotNull(message = "供应商id不能为空")
    private Long supplier;

    /**
     * 供应商名称
     */
    @NotNull(message = "供应商名称不能为空")
    private String supplierName;

    /**
     * 商品类型 1自产；2外采
     */
    @NotNull(message = "商品类型不能为空")
    private Integer goodsType;

    /**
     * 商品码
     */
    @NotNull(message = "商品码不能为空")
    private String goodsSn;

    /**
     * 商品名称
     */
    @NotNull(message = "商品名称不能为空")
    private String goodsName;

    /**
     * 关键字
     */
    @NotNull(message = "关键字不能为空")
    private String seoKey;

    /**
     * 商品分区
     */
    @NotNull(message = "商品分区不能为空")
    private Integer[] partitionId;

    /**
     * 商品品牌
     */
    @NotNull(message = "商品品牌不能为空")
    private Long brandId;

    /**
     * 商品品牌名字
     */
    private String brandName;
    /**
     * 成本价
     */
    @NotNull(message = "成本价不能为空")
    private BigDecimal costPrice = BigDecimal.ZERO;

    /**
     * 市场价格
     */
    @NotNull(message = "市场价格不能为空")
    private BigDecimal marketPrice;

    /**
     * 折扣价格
     */
    //@NotNull(message = "折扣价格不能为空")
    private BigDecimal discountPrice;

    /**
     * 商品图片
     */
    @NotNull(message = "商品图片不能为空")
    private String[] goodsImg;

    /**
     * 状态 1待审核；2已上架；3已下架
     */
    @NotNull(message = "状态不能为空")
    private GoodsStateEnum status;


    /**
     * 是否热销 0否；1是
     */
    @NotNull(message = "是否热销不能为空")
    private Integer isHot;

    /**
     * 邮寄方式 1包邮；2到付
     */
    @NotNull(message = "邮寄方式不能为空")
    private Integer expressType;

    /**
     * 场景
     */
    private Long[] sceneId;
    /**
     * 款号
     */
    private  String  styleNo;
    /**
     * 年份
     */
    private String gsYear;
    /**
     * 季节
     */
    private String gsSeason;

    /**
     * 备注1
     */
    private  String  bak1;

    /**
     * 备注2
     */
    private  String  bak2;

    /**
     * 体系
     */
    private  String  goodsSys;
}
